space_object:replace() / put()
-
object
space_object¶ -
space_object:replace(tuple)¶ -
space_object:put(tuple)¶ Вставка кортежа в спейс. Если уже существует кортеж с тем же первичным ключом,
box.space...:replace()заменит существующий кортеж новым. Варианты синтаксиса (box.space...:replace()иbox.space...:put()) приведут к одному результату, но последний иногда используется как противоположностьbox.space...:get().Параметры: - space_object (
space_object) – ссылка на объект - tuple (
table/tuple) – вставляемый кортеж
возвращает: вставленный кортеж
тип возвращаемого значения: tuple
Возможные ошибки:
ER_TUPLE_FOUND, если уже существует другой кортеж с тем же уникальным значением ключа (это произойдет только в том случае, если есть уникальный вторичный индекс).ER_TRANSACTION_CONFLICT, если транзакция стала конфликтной в транзакционном режиме MVCC.
Факторы сложности: Размер индекса, тип индекса, количество индексов, к которым получен доступ, настройки журнала упреждающей записи (WAL).
Пример:
box.space.tester:replace{5000, 'tuple number five thousand'}
Для получения дополнительной информации о сценариях использования и типичных ошибках, см. Пример: использование операций с данными далее в разделе.
- space_object (
-